package com.yida.file.service;

import java.util.List;

import org.springframework.web.multipart.MultipartFile;

import com.yida.system.api.domain.SysFile;
import com.yida.system.api.domain.UploadRequest;
import com.yida.system.api.domain.UploadResultDTO;

/**
 * @Description:
 * @Author: yida,hmh,PPV
 * @Date: 2023-04-12
 */
public interface IMinioSysFileService extends ISysFileService {

    /**
     * 文件上传
     *
     * @param bucketName
     * @param fileNames
     * @param files 文件
     * @return
     * @throws Exception
     */
    List<UploadResultDTO> uploadInBucket(String bucketName, List<String> fileNames, MultipartFile[] files) throws Exception;

    /**
     * 文件动态链接
     *
     * @param request 请求参数
     * @return
     */
    List<String> dynamicLink(UploadRequest request);

    /**
     * 获取文件链接地址
     * 
     * hmh
     * 
     * 20230607
     *
     * @param request 请求参数
     * @return
     */
    SysFile getFileInfo(UploadRequest request);

    /**
     * 获取文件链接地址集合
     * 
     * hmh
     * 
     * 20230607
     *
     * @param request 请求参数
     * @return
     */
    List<SysFile> getFileInfoList(UploadRequest request);

    /**
     * 删除文件
     * 
     * hmh
     * 
     * 20230607
     * 
     * @param request
     * @return
     */
    boolean delFile(UploadRequest request);

}
